1. Field of the Disclosure
The present disclosure relates to electronic devices, and more data processing device(s) having debug capabilities.
2. Description of the Related Art
Debug protocols, such as the IEEE standard known as IEEE ISTO5001, or the Nexus debug standard, are used to establish real-time debug support for data processing systems that can support real-time debug message generation. Such debugging standards can specify debugging processes that are used in the development of code for a data processor. One technique used in real-time debugging is the use of debug messages that include debug information that is generated by the data processing system. One type of debug information is referred to as trace information, which can include program trace information and data trace information. Program trace information can be generated during program trace messaging, which generates program trace messages that are related to address events of a data processor. Data trace information can be generated during data trace messaging, which generates data trace messages that are related to data information stored at storage locations of the data processor, such as at register locations. For example, program trace messaging can be used to store program trace information that is used during debug operations to determine which program is executed by a data processor, and data trace messaging can be used to store changes of stored data during the debug operation of the data processor.
Trace information can be stored at a First-In First-Out (FIFO) buffer of a data processing system until it is transferred to a debugger that is typically external to the data processor system. However, an issue arises when the FIFO becomes full due to the speed at which the data processor generates trace information being greater than the speed at which the data processor can communicate the debug trace information to the external debugger. In such situations, one or more trade-offs need to be made, each of which can impact the debug capabilities of the data processing system. For example, the data processor can be stalled until the FIFO is no longer full, which can alter the real-time nature of the data processing system. Alternatively, the data processing system can continue to run without storing additional trace information, which results in debug information being lost as the data processing system continues to operate in real-time.
Skilled artisans appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale.